const Sequelize = require('sequelize');
module.exports = function(sequelize, DataTypes) {
  return sequelize.define('sunnyMusicSong', {
    id: {
      type: DataTypes.STRING(250),
      allowNull: false,
      primaryKey: true,
      comment: "主键ID"
    },
    album: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "专辑"
    },
    albumId: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "专辑ID"
    },
    artist: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "艺术家"
    },
    artistId: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "艺术家ID"
    },
    contentType: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "内容类型"
    },
    coopFormats: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "合作社"
    },
    copyRight: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "版权"
    },
    duration: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "期间"
    },
    formats: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "格式"
    },
    hasEcho: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "哈塞科"
    },
    hasMv: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "是否有mv"
    },
    isExt: {
      type: DataTypes.STRING(250),
      allowNull: false,
      comment: "是否是Ext"
    },
    isNew: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "是否是新歌"
    },
    isPoint: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "是否是"
    },
    isbatch: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "是否是"
    },
    isdownload: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "是否可以下载"
    },
    isstar: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "start人数"
    },
    mkvNsig1: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "mkvNsig1"
    },
    mkvNsig2: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "mkvNsig2"
    },
    mkvRid: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "mkvRid"
    },
    mp3Nsig1: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "mp3Nsig1"
    },
    mp3Nsig2: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "mp3Nsig2"
    },
    mp3Rid: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "mp3Rid"
    },
    mp3Size: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "mp3Size"
    },
    mp4Sig1: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "mp4sig1",
      field: 'mp4sig1'
    },
    mp4Sig2: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "mp4sig2",
      field: 'mp4sig2'
    },
    musicrId: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "音乐人"
    },
    mutiVer: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "叛变者"
    },
    mvpayinfo: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "mvpayinfo"
    },
    mvpic: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "mvpic"
    },
    nsig1: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "nsig1"
    },
    nsig2: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "nsig2"
    },
    online: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "在线 的"
    },
    params: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "params"
    },
    pay: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "支付"
    },
    pic: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "照片"
    },
    playCnt: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "播放"
    },
    rankChange: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "兰克切奇"
    },
    reason: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "原因"
    },
    score: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "分数"
    },
    score100: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "得100分"
    },
    songName: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "歌曲名"
    },
    songTimeMinutes: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "歌曲时间分钟"
    },
    tpay: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "tpay"
    },
    trend: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "趋势"
    },
    upTime: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "正常运行时间"
    },
    uploader: {
      type: DataTypes.STRING(250),
      allowNull: true,
      comment: "上传器"
    },
    createTime: {
      type: DataTypes.DATE,
      allowNull: true,
      comment: "创造时间",
      field: 'create_time'
    },
    updateUser: {
      type: DataTypes.BIGINT,
      allowNull: true,
      comment: "更新用户",
      field: 'update_user'
    },
    updateTime: {
      type: DataTypes.DATE,
      allowNull: true,
      comment: "更新时间",
      field: 'update_time'
    },
    status: {
      type: DataTypes.INTEGER,
      allowNull: true,
      comment: "地位"
    },
    deleteTime: {
      type: DataTypes.DATE,
      allowNull: true,
      comment: "删除时间",
      field: 'delete_time'
    }
  }, {
    sequelize,
    tableName: 'sunny_music_song',
    timestamps: true,
    createdAt: 'createTime',
    updatedAt: 'updateTime',
    deletedAt: 'deleteTime',
    indexes: [
      {
        name: "PRIMARY",
        unique: true,
        using: "BTREE",
        fields: [
          { name: "id" },
        ]
      },
    ]
  });
};
